package com.school.campus.service.impl;

import java.util.List;

import com.school.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.school.campus.mapper.ClubMapper;
import com.school.campus.domain.Club;
import com.school.campus.service.IClubService;

/**
 * 社团管理Service业务层处理
 *
 * @author wwj
 * @date 2025-11-05
 */
@Service
public class ClubServiceImpl implements IClubService {
    @Autowired
    private ClubMapper clubMapper;

    /**
     * 查询社团管理
     *
     * @param id 社团管理主键
     * @return 社团管理
     */
    @Override
    public Club selectClubById(Long id) {
        return clubMapper.selectClubById(id);
    }

    /**
     * 查询社团管理列表
     *
     * @param club 社团管理
     * @return 社团管理
     */
    @Override
    public List<Club> selectClubList(Club club) {
        return clubMapper.selectClubList(club);
    }

    /**
     * 新增社团管理
     *
     * @param club 社团管理
     * @return 结果
     */
    @Override
    public int insertClub(Club club) {
        club.setMemberCount(0L);
        club.setFollowCount(0L);
        club.setCreateTime(DateUtils.getNowDate());
        return clubMapper.insertClub(club);
    }

    /**
     * 修改社团管理
     *
     * @param club 社团管理
     * @return 结果
     */
    @Override
    public int updateClub(Club club) {


        club.setFollowCount(club.getFollowCount() + 1);
        return clubMapper.updateClub(club);
    }

    /**
     * 批量删除社团管理
     *
     * @param ids 需要删除的社团管理主键
     * @return 结果
     */
    @Override
    public int deleteClubByIds(Long[] ids) {
        return clubMapper.deleteClubByIds(ids);
    }

    /**
     * 删除社团管理信息
     *
     * @param id 社团管理主键
     * @return 结果
     */
    @Override
    public int deleteClubById(Long id) {
        return clubMapper.deleteClubById(id);
    }
}
